package com.zqll.gdx.starter.assets;

/**
 * 资源路径常量与辅助方法。
 * <p>
 * 约定：
 * <p>
 * - internal 加载使用相对路径（如 "fonts/..."、"ui/vis-ui/uiskin.json"）。
 * <p>
 * - classpath 加载时需带上 "assets/" 前缀（如 "assets/fonts/..."）。
 */
public final class AssetPaths {

    private AssetPaths() {
    }

    // Fonts
    public static final String DIR_FONTS = "fonts/";
    public static final String FONT_MAPLE_MONO_SC = DIR_FONTS + "MapleMono-SC-NF-Regular.ttf";
    public static final String FONT_NOTO_MONO_CJK = DIR_FONTS + "NotoSansMonoCJKsc-Regular.otf";

    // UI Skin (VisUI bundled)
    public static final String UI_SKIN_JSON = "ui/vis-ui/uiskin.json";
    public static final String UI_SKIN_ATLAS = "ui/vis-ui/uiskin.atlas";

    // I18N bundle base name (without .properties suffix)
    public static final String I18N_BUNDLE_BASE = "i18n/messages";

    /**
     * 为类路径资源添加 "assets/" 前缀。
     *
     * @param relative 相对路径（例如 "fonts/xxx.ttf"）
     * @return 类路径可用路径（例如 "assets/fonts/xxx.ttf"）
     */
    public static String classpath(String relative) {
        if (relative == null || relative.isEmpty()) return relative;
        if (relative.startsWith("assets/")) return relative;
        return "assets/" + relative;
    }
}